Various types of computing devices exist today. For example, various mobile devices exist, from different mobile phones to personal digital assistants (PDAs) to portable computers. With the variety of devices that may operate under numerous different environments, applications to be executed on a computing device are now developed for multiple types of devices. For example, an application may be developed to execute within a specific runtime environment operating on a computing device, wherein the operating environment may be executed on various types of devices.
As a result of the variety of device architectures and operating environments, an application may execute differently on different devices. Hence, an application must be tested on a specific device to ensure that the application executes properly on the device. For example, a developer may want a game to execute exactly the same on a specific mobile phone as on a specific PDA, or the developer may want a game to run the same on the mobile phone independent of load on the mobile phone or other processes executing on the mobile phone.
One problem with such testing is that an application must be tested for each and every device. To overcome testing an application on a physical device, an application may be tested on an emulated device such that the actual device is not required. In addition, a test script may be created by the user in order to test certain portions of the application while executing on the emulated device.
One problem is that the test script must be manually created before it may be used. Another problem is that a test script must be manually created for each device under a specific operating environment, causing a user to create numerous test scripts for testing the various devices and various operating conditions.